#pragma once
#include <iostream>
#include <string>
#include "ShowLog.h"


class Entity
{
public:
	Entity();
	~Entity();
	virtual std::string GetName() { return "Entity"; }

private:

};
 
class Player :public Entity
{
public:
	std::string m_Name;
	Player(const std::string& name): m_Name(name){};
	~Player ();

	std::string GetName() override { return m_Name ; }

private:

};
 

int RunExample029()
{
	Entity* e = new Entity();
	LOG(e->GetName());

	Player* player = new Player("WA");
	LOG(player->GetName());

	e = player;
	LOG(e->GetName());

	return 0;
}
